草庐IT

if-else 语句

全部标签

c# - 在 if() 中调用方法 - C#

我有几个方法会根据它们的成功返回bool值,在IF()内部调用这些方法有什么问题吗?//&&makessurethatMethod2()willonlygetcalledifMethod1()returnedtrue,use&tocallbothmethodsif(Method1()&&Method2()){//dostuffifbothmethodsreturnedTRUE}如果Method1()返回FALSE,Method2()不需要触发。如果上面的代码有任何问题,请告诉我。谢谢。编辑:由于代码没有任何问题,我会接受最有信息的答案...添加评论以解决“新手&&&”问题

C# if 语句速记运算符 (?:) results in unreachable code

为什么我在使用VisualStudio2010的C#中收到此警告?"Unreachableexpressioncodedetected"来自以下代码(DateTime.Now以绿色波浪线下划线):publicDateTimeStartDate{get{DateTimedt=(DateTime)ViewState["StartDate"];return((dt==null)?DateTime.Now:dt);}} 最佳答案 因为DateTime结构永远不能为null。如果您期望可能的空值,则必须使用可为空的DateTime结构。您也可

c# - 太多 if (obj is thisObj) 语句

我目前有一种方法试图找出它收到的对象是什么。它知道在某个接口(interface)上,例如IService,但我有代码查看它并试图告诉我它是Service1还是Service2。我目前有很多if(objisthisObj)样式语句,什么是使这段代码漂亮的最佳解决方案?这是我所拥有的示例:publicvoidDoSomething(IServiceservice){if(serviceisService1){//DOsomething}if(serviceisService2){//DOsomethingelse}}现在有两个并不是什么坏事,但我正在考虑可能有20多个这样的东西,使用起来

c# - 为什么 C# switch 语句不允许使用 typeof/GetType()?

如本例所示:switch(myObj.GetType()){casetypeof(MyObject):Console.WriteLine("MyObjectishere");break;} 最佳答案 其次是PeterHallam的帖子;这是一个很好的解释。不过,您可以使用TypeCode处理简单类型。switch(Type.GetTypeCode(myObj.GetType())){caseTypeCode.Boolean:...caseTypeCode.Char:...caseTypeCode.String:...caseType

C# if 语句。内部运作 Q

我刚刚在某些Exchange2010代码中看到了这个代码片段,我想知道是否有人知道为什么程序员会这样做。我从未见过这样格式的If语句。看起来如此倒退,一定有充分的理由吧??if(true==MsgItem.HasAttachments){//Code}我假设它可能对同一事物的各种其他编码方式进行了一些优化;if(MsgItem.HasAttachments){//Code}或if(MsgItem.HasAttachments==true){//Code}这没什么大不了的,我只是好奇。谢谢,迈克更新:感谢您提出的所有有趣的观点。总结似乎是因为遗留编码标准。 最

c# - 在 Mono 和 .NET 之间拆分的编译器 #if 指令

这个问题在这里已经有了答案:HowcanIconditionallycompilemyC#forMonovs.Microsoft.NET?(2个答案)关闭9年前。我需要为Mac上的Mono和PC上的.NET双重编译一个类库。我想做一些小改动,但我希望使用编译器指令拆分代码。有什么建议吗?

c# - 在 Entity Framework 中使用 include 语句时选择特定列

当我需要分层(父子)关系时,我通常在我的EF查询中使用Include语句。例子:DbContext.Customers.Include("Projects");这很好,但是Customers和Projects实体总是会带回所有列。我知道下面的查询将返回父表中的特定列,但我也试图仅返回子表中的特定列。如果我在Projects上使用intellisense,它显然是一个集合,不会提供特定的属性供选择。fromcinCustomersletProjects=c.Projects.Where(p=>p.Notes!=null)whereProjects.Any()selectnew{c.Use

c# - Linq 语句中的正则表达式?

我正在编写一个简短的C#来解析给定的XML文件。但是其中1个标记值可以更改,但始终在where子句中包含单词“FastStartup”(不考虑大小写和空格,但需要顺序相同)。我不确定如何在C#中的类似sql的语句中执行此操作。varselected=fromcliindoc.Descendants(xmlns+"Result")wherecli.Element(xmlns+"ResultsLocation").Value=="Assessments-Fast-Startup"selectcli; 最佳答案 假设您正在寻找确切的字符串

c# - 为什么要在 ASP.NET 中以这种方式使用 using 语句?

再次重构一些代码。在其中一个ASP.NET页面中看到其中的一些内容:using(TextBoxtxtBox=e.Row.Cells[1].FindControl("txtBox")asTextBox){}不需要处理txtBox,因为它只是对现有控件的引用。而且您根本不想处理控件。我什至不确定这是否有害-就像它似乎要求不恰本地处理底层控件(尽管我还没有看到以这种方式使用它会产生任何不良影响)。 最佳答案 TextBox从其Component继承了IDisposable的实现父类(superclass)。该实现从其sitecontain

c# - C# 是否在循环/lambda 语句中自动优化代码?

例如,在Javascript中,强烈建议将函数调用放在循环之外以获得更好的性能:varid=someIdType.ToString();someList.Where(a=>a.id==id)...C#怎么样?相同情况还是编译器/运行时使用内部优化/缓存?someList.Where(a=>a.id==someIdType.ToString())...可能是菜鸟问题,之前有人问过,但找不到引用。 最佳答案 C#代码:Listlist=newList();list.Where(a=>a==typeof(String).ToString(